home *** CD-ROM | disk | FTP | other *** search
/ Czech Logic, Card & Gambling Games / Logické hry.iso / hry / Fish Fillets / script / briefcase / code.lua < prev    next >
Text File  |  2005-07-16  |  8KB  |  232 lines

  1.  
  2. -- -----------------------------------------------------------------
  3. -- Init
  4. -- -----------------------------------------------------------------
  5. local function prog_init()
  6.     initModels()
  7.     local pokus = getRestartCount()
  8.  
  9.  
  10.     -- -------------------------------------------------------------
  11.     local function prog_init_room()
  12.         local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
  13.  
  14.         room.uvod = 0
  15.         room.do_prace = 0
  16.         room.znovu = 0
  17.         room.dilna = 0
  18.         room.zvedni = 0
  19.  
  20.         return function()
  21.             if isReady(small) and isReady(big) then
  22.                 if not level_isShowing() and small.X == 25 and small.Y == 23 and big.X == 27 and big.Y == 21 then
  23.                     if not big:isLeft() then
  24.                         level_planShow(function(count)
  25.                             return level_action_move('L')
  26.                         end)
  27.                     end
  28.                     file_include("script/"..codename.."/demo_help.lua")
  29.                 end
  30.                 if not level_isShowing() and no_dialog() then
  31.                     if room.uvod == 0 then
  32.                         switch(pokus){
  33.                             [1] = function()
  34.                                 addm(6, "kuf-m-je")
  35.                                 addv(4, "kuf-v-noco")
  36.                                 addv(9, "kuf-v-hod")
  37.                             end,
  38.                             [2] = function()
  39.                                 addv(9, "kuf-v-hod")
  40.                             end,
  41.                             default = function()
  42.                                 switch(random(3)){
  43.                                     [0] = function()
  44.                                     end,
  45.                                     [1] = function()
  46.                                         addv(9, "kuf-v-hod")
  47.                                     end,
  48.                                     [2] = function()
  49.                                         addm(6, "kuf-m-je")
  50.                                     end,
  51.                                 }
  52.                             end,
  53.                         }
  54.                         room.uvod = 1
  55.                     elseif room.do_prace == 0 and kufr.hotovo == 1 then
  56.                         switch(pokus){
  57.                             [1] = function()
  58.                                 addv(10, "kuf-v-doprace")
  59.                             end,
  60.                             [2] = function()
  61.                                 addv(10, "kuf-v-dotoho")
  62.                             end,
  63.                             default = function()
  64.                                 switch(random(2)){
  65.                                     [0] = function()
  66.                                         addv(10, "kuf-v-doprace")
  67.                                     end,
  68.                                     [1] = function()
  69.                                         addv(10, "kuf-v-dotoho")
  70.                                     end,
  71.                                 }
  72.                             end,
  73.                         }
  74.                         addm(5, "kuf-m-ven")
  75.                         addv(0, "kuf-v-ukol")
  76.                         room.do_prace = 1
  77.                     elseif room.znovu == 0 and room.do_prace == 1 and room.dilna == 0 and random(100) < 5 then
  78.                         switch(pokus){
  79.                             [1] = function()
  80.                                 addv(20, "kuf-v-jeste")
  81.                                 addm(2, "kuf-m-disk")
  82.                                 addv(6, "kuf-v-restart")
  83.                                 addm(3, "kuf-m-pravda")
  84.                             end,
  85.                         }
  86.                         room.znovu = 1
  87.                     elseif room.dilna == 0 and room.znovu == 1 and (small.Y >= 22 or big.Y >= 22) then
  88.                         addm(30, "kuf-m-dodilny")
  89.                         addv(5, "kuf-v-napad")
  90.                         room.dilna = 1
  91.                     elseif room.zvedni == 0 and ocel.Y == 18 and small.Y >= 22 and small.Y <= 24 and small.X >= 29 and small.X <= 30 then
  92.                         room.zvedni = 1
  93.                         addm(0, "kuf-m-nezvednu")
  94.                     elseif room.zvedni <= 1 and ocel.Y == 16 and random(100) < 7 then
  95.                         room.zvedni = 2
  96.                         addm(0, "kuf-m-kousek")
  97.                     end
  98.                 end
  99.             end
  100.         end
  101.     end
  102.  
  103.     -- -------------------------------------------------------------
  104.     local function prog_init_kufr()
  105.         local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
  106.  
  107.         kufr.faze = 0
  108.         kufr.hotovo = 0
  109.  
  110.         return function()
  111.             local anim_table = {
  112.                 [0] = function()
  113.                     if kufr.dir == dir_down then
  114.                         kufr.faze = kufr.faze + 1
  115.                     end
  116.                 end,
  117.                 [1] = function()
  118.                     kufr.afaze = 0
  119.                     if kufr.dir == dir_no then
  120.                         kufr.faze = kufr.faze + 1
  121.                     end
  122.                 end,
  123.                 [2] = function()
  124.                     kufr.afaze = kufr.faze - 2
  125.                     kufr.faze = kufr.faze + 1
  126.                 end,
  127.                 [7] = function()
  128.                     kufr.delay = 3
  129.                     kufr.faze = kufr.faze + 1
  130.                 end,
  131.                 [8] = function()
  132.                     if kufr.delay > 0 then
  133.                         kufr.delay = kufr.delay - 1
  134.                     else
  135.                         level_newDemo("script/"..codename.."/demo_briefcase.lua")
  136.                         kufr.faze = kufr.faze + 1
  137.                     end
  138.                 end,
  139.                 [9] = function()
  140.                     kufr.delay = 4
  141.                     kufr.faze = kufr.faze + 1
  142.                 end,
  143.                 [10] = function()
  144.                     if kufr.delay > 0 then
  145.                         kufr.delay = kufr.delay - 1
  146.                     else
  147.                         kufr.afaze = 13 - kufr.faze
  148.                         kufr.faze = kufr.faze + 1
  149.                     end
  150.                 end,
  151.                 [14] = function()
  152.                     kufr.delay = 37
  153.                     kufr.faze = kufr.faze + 1
  154.                 end,
  155.                 [15] = function()
  156.                     if kufr.delay > 0 then
  157.                         kufr.delay = kufr.delay - 1
  158.                     else
  159.                         kufr.faze = kufr.faze + 1
  160.                     end
  161.                 end,
  162.                 [16] = function()
  163.                     kufr.afaze = kufr.faze - 11
  164.                     kufr.faze = kufr.faze + 1
  165.                 end,
  166.                 [22] = function()
  167.                     kufr.afaze = 0
  168.                     kufr.faze = kufr.faze + 1
  169.                     kufr.hotovo = 1
  170.                 end,
  171.             }
  172.             anim_table[3] = anim_table[2]
  173.             anim_table[4] = anim_table[2]
  174.             anim_table[5] = anim_table[2]
  175.             anim_table[6] = anim_table[2]
  176.  
  177.             anim_table[11] = anim_table[10]
  178.             anim_table[12] = anim_table[10]
  179.             anim_table[13] = anim_table[10]
  180.  
  181.             anim_table[17] = anim_table[16]
  182.             anim_table[18] = anim_table[16]
  183.             anim_table[19] = anim_table[16]
  184.             anim_table[20] = anim_table[16]
  185.             anim_table[21] = anim_table[16]
  186.             switch(kufr.faze)(anim_table)
  187.  
  188.             kufr:updateAnim()
  189.         end
  190.     end
  191.  
  192.     -- -------------------------------------------------------------
  193.     local function prog_init_ocel()
  194.         return function()
  195.             if ocel.dir ~= dir_no then
  196.                 room.dilna = 1
  197.                 room.do_prace = 1
  198.                 room.znovu = 1
  199.             end
  200.         end
  201.     end
  202.  
  203.     -- --------------------
  204.     local update_table = {}
  205.     local subinit
  206.     subinit = prog_init_room()
  207.     if subinit then
  208.         table.insert(update_table, subinit)
  209.     end
  210.     subinit = prog_init_kufr()
  211.     if subinit then
  212.         table.insert(update_table, subinit)
  213.     end
  214.     subinit = prog_init_ocel()
  215.     if subinit then
  216.         table.insert(update_table, subinit)
  217.     end
  218.     return update_table
  219. end
  220. local update_table = prog_init()
  221.  
  222.  
  223. -- -----------------------------------------------------------------
  224. -- Update
  225. -- -----------------------------------------------------------------
  226. function prog_update()
  227.     for key, subupdate in pairs(update_table) do
  228.         subupdate()
  229.     end
  230. end
  231.  
  232.